#include "Reader.h"

void createEmptyReader(Reader *R) { 
	if(R->nArgument > MaxArg || R->nArgument < 0) R->nArgument = MaxArg;
	
	int i;
	for(i = 0; i < R->nArgument; i++)
		R->argument[i] = CharToString("");
		
	R->nArgument = 0;
}
 
void ReadArguments(FILE *f) {
	createEmptyReader(&CReader);
	StartString(f);
	while(!end) {
		CReader.argument[CReader.nArgument++] = cString;
		AdvString(f);
	}
}

void DeleteArguments(Reader *R, int idxFrom, int length) {
	int i = idxFrom;
	int j = (idxFrom + length) <= R->nArgument ? (idxFrom + length) : R->nArgument-1;
	for(i,j; j<=R->nArgument; j++,i++) {
		R->argument[i] = R->argument[j];
		R->argument[j] = CharToString("");
	}
	R->nArgument-=length;
}

string ArgumentsToString(Reader R) {
	char buff[100];
	sprintf(buff, "%s", R.argument[0].s);
	int i;
	for(i = 1; i < R.nArgument; i++) {
		sprintf(buff, "%s %s", buff, R.argument[i].s);
	}
	return CharToString(buff);
}
